Rem VBScript To center probe inside a pipe

If GetOemLed (825) <> 0 Then 'Check to see if the probe is already grounded or faulty

    Code "(Probe plate is grounded, check connection and try again)"

Else

    FeedCurrent = GetOemDRO(818) 'Get the current settings
    XCurrent = GetDro(0)
    YCurrent = GetDro(1)

    Code "G4 P1" 'Pause 1 second to give time to position probe plate
    Code "F4" 'slow feed rate to 4 ipm

Rem Probe Left

    XNew = Xcurrent - 3 'probe 3 inches to left
    Code "G31 X" &XNew
    While IsMoving() 'wait for the move to finish
    Wend
    XPos1 = GetVar(2000) 'get the probe touch location

    Code "G0 X" &XCurrent 'rapid move back to start point

Rem Probe Right

    XNew = XCurrent + 3 'probe 3 inches to right
    Code "G31 X" &XNew
    While IsMoving()
    Wend
    XPos2 = GetVar(2000)

    XCenter = (XPos1 + XPos2) / 2 'center is midway between XPos1 and XPos2
    Code "G0 X" &XCenter 'rapid move to the x center location
    While IsMoving ()
    Wend
    Call SetDro (0,0.000)
    Code "G4 P0.25" 

Rem Probe up

    YNew = YCurrent + 3
    Code "G31 Y" &YNew
    While IsMoving()
    Wend
    YPos1 = GetVar(2001)

    Code "G0 Y" &YCurrent

Rem Probe down

    YNew = YCurrent - 3
    Code "G31 Y" &YNew
    While IsMoving()
    Wend
    YPos2 = GetVar(2001)

    YCenter = (YPos1 + YPos2) / 2

Rem move To the center

    Code "G0 Y" &YCenter
    While IsMoving ()
    Wend
    Call SetDro (1,0.000)
    While IsMoving ()
    Wend
    Call SetUserDro (1152,YPos1 - YPos2 + .200)
    Code "G4 P0.25" 

    Code "F" &FeedCurrent 'restore starting feed rate

End If  
